home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / net_src.arc / mkdep < prev    next >
Encoding:
Text File  |  1989-05-08  |  767 b   |  40 lines

  1. :
  2. # @(#) depend v1.0 Create a makefile of dependencies
  3. # Author: Jeffrey Kegler
  4. #
  5. cpparg=
  6. linelen=60 # desired length of dependency line
  7. for arg in "$@"
  8. do
  9.     case $arg in
  10.     -[CT] | -[UID]*) cpparg="$cpparg $arg"
  11.     esac
  12. done
  13. for source in "$@"
  14. do
  15.     target=`expr "$source" : '\\(.*\\)\\.c$'`
  16.     if [ -n "$target" ]; then
  17.         target=`basename "$target"`
  18.         /lib/cpp $cpparg "$source" |
  19.         sed -n -e 's/^# 1 "\(.*\)"/\1/p' |
  20.         awk '
  21.             BEGIN { deplist = "'$target.o:'" }
  22.             NR > 1 {
  23.                 used++;
  24.                 if (length(deplist "\t" $0) >= '$linelen') {
  25.                     print deplist "\\"
  26.                     deplist = "\t" $0
  27.                 } else deplist = deplist "\t" $0
  28.             }
  29.             END {
  30.                 if (used)
  31.                 {
  32.                     if (deplist != "") print deplist
  33.                     print
  34.                 }
  35.             }
  36.         '
  37.     fi
  38. done
  39. exit 0
  40.